﻿using AngryManagementMayhem.Content.Textures.Map;
using Transformable_Engine_v2.Engine.Graphics;

namespace AngryManagementMayhem.Content.Textures.Character
{
    public class TestCharacterSpriteSheet : SpriteSheet
    {
        public enum SpriteList
        {
            Idle,
            Run,
            Jump,
            DoubleJump,
            Hurt,
            Dash,
            WallCling,
            ChargeLow,
            ChargeMedium,
            ChargeHigh,
            Fall,
            Particle,
        }

        public static void LoadContent()
        {
            GetInstance().SpriteSheetPath = "Content/Textures/Character/TestCharacter.png";

            GetInstance().AddSprite(SpriteList.Idle, new Sprite(0, 0, 4, 5));
            GetInstance().AddSprite(SpriteList.Run, new Sprite(4, 0, 4, 5));
            GetInstance().AddSprite(SpriteList.Jump, new Sprite(8, 0, 4, 5));
            GetInstance().AddSprite(SpriteList.Dash, new Sprite(12, 0, 4, 5));
            GetInstance().AddSprite(SpriteList.DoubleJump, new Sprite(16, 0, 4, 5));
            GetInstance().AddSprite(SpriteList.Particle, new Sprite(20, 0, 2, 2));

            GetInstance().AddSprite(SpriteList.Hurt, new Sprite(0, 5, 4, 5));
            GetInstance().AddSprite(SpriteList.WallCling, new Sprite(4, 5, 4, 5));
            GetInstance().AddSprite(SpriteList.Fall, new Sprite(8, 5, 4, 5));

            GetInstance().AddSprite(SpriteList.ChargeLow, new Sprite(12, 5, 4, 5));
            GetInstance().AddSprite(SpriteList.ChargeMedium, new Sprite(16, 5, 4, 5));
            GetInstance().AddSprite(SpriteList.ChargeHigh, new Sprite(20, 5, 4, 5));
        }

        public static Sprite GetSprite(SpriteList sprite)
        {
            return GetInstance().Sprite(sprite);
        }
    }
}